<?php
//分区
namespace app\crm\controller;

use app\crm\model\Sn;
use app\crm\model\StaffAccessory;
use app\crm\model\SubregionManager;
use app\crm\model\SubregionSys;
use think\Db;
use think\Request;
use think\Exception;
use app\crm\model\Staff as StaffModel;
use weworkapi\api\datastructure\user\User;
use weworkapi\api\src\API;


class Subregion extends \CrmController
{
    /**
     * 分区列表
     */
    public function index(){

    }
    /**
     * 新增分区
     */
    public function save(Request $request){
        try {
            $params = delToken($request->param());
            $Subregion = new \app\crm\model\Subregion();
            $addI['subregion_name'] = $params['subregion_name'];
            $addM['subregion_id'] = $Subregion->insertGetId($addI);
            if(isset($params['staff_id'])&&count($params['staff_id'])>0){
                $SubregionManager = new SubregionManager();
                foreach ($params['staff_id']  as $v){
                    $addM['staff_id'] = $v;
                    $SubregionManager->insert($addM);
                }
            }
            $this->successTerminate();
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    /**
     * 解散分区
     */
    public function delete(){

    }
    ///////////////////////////////////////////////////////////////////////////
    /// 详细设置
    ///1.社区可见权限
    ///2.动态发布权限
    ///3.分社区联系人
    ///4.分社区动态分类
    ///5.下游互动消息提醒权限
    ///6.下游点赞、评论互不可见
    ///7.下游发布动态默认可见范围
    ///////////////////////////////////////////////////////////////////////////

    /**
     * 社区可见权限设置
     *接口地址 xlt.shared123.cn/crm/Subregion/subregionVisible
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     *|is_staff| int |0|是否所有员工可见 0是 1自定义员工可见|
     *|staff_id[]| arr[int] |0|自定义员工可见权 员工id|
     *|is_downstream| int |0| 0所有下游可见 1通过审核可见 2自定义可见|
     *|downstream_id[]| arr[int] |0|下游员工id|
     */
    public function subregionVisible(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $SubregionVisibleSys->subregionVisible($params);
            $this->successTerminate();
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    /**
     * 查看社区可见权限设置
     *接口地址 xlt.shared123.cn/crm/Subregion/checkSubregionVisible
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     * 返回
     *
            subregion_id	(社区ID)
            is_staff_all_visible	0所有员工 1指定员工可见
            is_downstream_all_visible	0所有下游可见 1通过审核可见 2自定义可见
            subregion_visible_staff[
                    [
                    staff_id	员工id
                    staff_name	员工姓名
                    ]
             ]


            subregion_visible_downstream[
                [
                staff_id	下游id
                staff_name	下游姓名
                ]
            ]
           is_shezi	 1已设置 0未设置
     */
    public function checkSubregionVisible(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $retData = $SubregionVisibleSys->info($params['subregion_id']);
            $this->successTerminate($retData);
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    /**
     * 动态发布权限
     *接口地址 xlt.shared123.cn/crm/Subregion/issue
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     *|is_staff_issue| int |0|员工是否有权发布 0所有员工 1指定员工|
     *|staff_id[]| arr[int] |0|自定义员工发布权 员工id|
     *|is_downstream_issue| int |0| 下游是否允许发布 0不允许 1允许|
    */
    public function issue(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $SubregionVisibleSys->subregionIssue($params);
            $this->successTerminate();
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    /**
     * 查看社区可见权限设置
     *接口地址 xlt.shared123.cn/crm/Subregion/checkSubregionIssue
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     * 返回
     *
            subregion_id	(社区ID)
            is_staff_issue	0所有员工 1指定员工可发布
            is_downstream_issue	下游是否允许发布 0不允许 1允许
            staff_issue_staff[
                [
                staff_id	员工id
                staff_name	员工姓名
                ]
            ]
         is_shezi	 1已设置 0未设置
     */
    public function checkSubregionIssue(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $retData = $SubregionVisibleSys->infoIssue($params['subregion_id']);
            $this->successTerminate($retData);
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    /**
     * 分社区联系人设置
     *接口地址 xlt.shared123.cn/crm/Subregion/linkman
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     *|linkman_phone| int |1|分社区联系人设置  0显示 1不显示|
     *|linkman_email| int |1| 分社区联系人设置 0显示 1不显示|
     *|linkman_qq| int |1| 分社区联系人设置 0显示 1不显示|
     *|linkman_telephone| int |1| 分社区联系人设置 0显示 1不显示|
     *|linkman_wechat| int |1| 分社区联系人设置 0显示 1不显示|
     *|staff_id[]| arr[int] |0|分区显示员工信息 员工id|
     */
    public function linkman(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $SubregionVisibleSys->subregionLinkman($params);
            $this->successTerminate();
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    /**
     * 查看分社区联系人设置
     *接口地址 xlt.shared123.cn/crm/Subregion/checkSubregionLinkman
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     * 返回
     *
    subregion_id	(社区ID)
    linkman_phone	分社区联系人设置 手机  0显示 1不显示
    linkman_email	 分社区联系人设置 邮箱 0显示 1不显示
    linkman_telephone	 分社区联系人设置 电话 0显示 1不显示
    linkman_wechat	 分社区联系人设置 微信 0 显示 1不显示
    linkman_qq	 分社区联系人设置 qq 0显示 1不显示
    subregion_issue_linkman	[
            [
                staff_id	员工id
                staff_name	员工姓名
            ]
    ]
    is_shezi	 1已设置 0未设置
     */
    public function checkSubregionLinkman(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $retData = $SubregionVisibleSys->infoLinkman($params['subregion_id']);
            $this->successTerminate($retData);
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    /**
     * 新增分社区分类
     *接口地址 xlt.shared123.cn/crm/Subregion/addClassify
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     *|classify_name| var |1|分社区分类名|
     *|is_access| int |1| 发动态时可选择此分类的成员权限 0全部 1仅员工 2仅下游|
    */
    public function addClassify(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $SubregionVisibleSys->addClassify($params);
            $this->successTerminate();
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    /**
     * 删除分社区分类
     *接口地址 xlt.shared123.cn/crm/Subregion/delClassify
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|classify_id| int |1|分类id|
     */
    public function delClassify(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $SubregionVisibleSys->delClassify($params['classify_id']);
            $this->successTerminate();
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    /**
     * 查询分社区分类列表
     *接口地址 xlt.shared123.cn/crm/Subregion/listClassify
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     * 返回
        classify_id  分类id
        subregion_id 社区id
        classify_name 分类名
        is_access 发动态时可选择此分类的成员权限 0全部 1仅员工 2仅下游
     */
    public function listClassify(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $data = $SubregionVisibleSys->listClassify($params['subregion_id']);
            $this->successTerminate($data);
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }

    /**
     * 下游互动消息提醒权限 设置
     *接口地址 xlt.shared123.cn/crm/Subregion/remind
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     *|staff_id[]| arr[int] |1| 员工id|

     */
    public function remind(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $SubregionVisibleSys->remind($params);
            $this->successTerminate();
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    /**
     * 下游互动消息提醒权限员工列表
     *接口地址 xlt.shared123.cn/crm/Subregion/checkRemindStaff
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     *返回
    [
        staff_id	员工id
        staff_name	员工姓名
    ]
     */
    public function checkRemindStaff(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $data = $SubregionVisibleSys->infoRemind($params['subregion_id']);
            $this->successTerminate($data);
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    /**
     * 下游点赞、评论互不可见 设置
     *接口地址 xlt.shared123.cn/crm/Subregion/downstream
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     *|is_downstream_access| int |1| 下游成员点赞、评论默认所有人可见，启用后下游成员之间互相不可见  0关闭 1启用|
     */
    public function downstream(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $SubregionVisibleSys->downstream($params);
            $this->successTerminate();
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    /**
     * 下游点赞、评论互不可见 设置
     *接口地址 xlt.shared123.cn/crm/Subregion/checkDownstream
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     * 返回
     * is_downstream_access  下游成员点赞、评论默认所有人可见，启用后下游成员之间互相不可见  0关闭 1启用
     */
    public function checkDownstream(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $data = $SubregionVisibleSys->getDownstream($params['subregion_id']);
            $this->successTerminate($data);
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }

    /**
     * 下游发布动态默认可见范围 设置
     *接口地址 xlt.shared123.cn/crm/Subregion/downstreamScope
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     *|downstream_scope| int |1| 下游发布动态默认可见范围 1仅上游员工可见 2所有成员可见|
     */
    public function downstreamScope(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $SubregionVisibleSys->downstreamScope($params);
            $this->successTerminate();
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }

    /**
     * 下游发布动态默认可见范围 查看
     *接口地址 xlt.shared123.cn/crm/Subregion/checkDownstream
     * @post
     *| 参数 | 参数类型 | 是否必须 | 备注 |
     *|subregion_id| int |1|社区id|
     * 返回
     * downstream_scope  下游成员点赞、评论默认所有人可见，启用后下游成员之间互相不可见  0关闭 1启用
     */
    public function checkDownstreamScope(Request $request){
        try {
            $params = delToken($request->param());
            $SubregionVisibleSys = new SubregionSys();
            $data = $SubregionVisibleSys->getDownstreamScope($params['subregion_id']);
            $this->successTerminate($data);
        } catch (Exception $e) {
            $this->serverErrorTerminate($e->getMessage());
        }
    }
    ///////////////////////////////////////////////////////////////////////////
    ///前台获取页面数据接口
    /// 1.获取分社区列表接口
    /// 2.获取分社区分类接口
    ///
    ///////////////////////////////////////////////////////////////////////////

}